module BasicMathSubroutines
implicit none
	
	contains
	FUNCTION NORM(X) RESULT(ANS)
    IMPLICIT NONE
        REAL(KIND=8),INTENT(IN)            :: X(:)
        REAL(KIND=8)                       :: ANS

        ANS = SQRT(DOT_PRODUCT(X,X))
        RETURN
    END FUNCTION NORM
	
	
end module